开发UI框架:【laylte】Svelte版LAYUI(表单 - 开关)
【laylte/LaySwitch.svelte】
<script>
//import { createEventDispatcher } from 'svelte';
//const dispatch = createEventDispatcher();
export let value='false';//兼容 字符串/布尔 0/1 true/false 存数据库可以存0/1 也可以存字符串 true/false
export let skin='normal';
export let text=[];
export let disabled='false';//兼容 字符串/布尔
function load_text_arr(text)
{
let text_arr=['',''];
if(text.length==2)
{
text_arr=[text[0],text[1]];
}
return text_arr;
}
let text_arr=load_text_arr(text);
export let change=function(result){
console.log('change');
console.log(result);
};
//选中
function click_one()
{
if(disabled=='true' || disabled==true) return false;
let result=true;
//适配value
if(value==='true')
{
result='false';
}else if(value==='false'){
result='true';
}else if(value===true){
result=false;
}else if(value===false){
result=true;
}else if(value===1){
result=0;
}else if(value===0){
result=1;
}else if(value==='1'){
result='0';
}else if(value==='0'){
result='1';
}
value = result;
change(value);
}
</script>
<!-- svelte-ignore a11y-click-events-have-key-events -->
{#if skin=='normal'}
{#if value===1 || value==='1' || value===true || value==='true'}
<div on:click={click_one} class="layui-unselect layui-form-switch layui-form-onswitch { (disabled==true || disabled=='true') ? 'layui-disabled' : ''}" lay-skin="_switch"><em>{text_arr[0]}</em><i></i></div>
{:else}
<div on:click={click_one} class="layui-unselect layui-form-switch { (disabled==true || disabled=='true') ? 'layui-disabled' : ''}" lay-skin="_switch"><em>{text_arr[1]}</em><i></i></div>
{/if}
{/if}
<style>
</style>【App.svelte】
<script>
import LaySwitch from '../laylte/LaySwitch.svelte';
//export let name;
function switch_change(value)
{
console.error('change1--xx',value);
}
let switch_value=1;
let switch2_value=false;
</script>
<svelte:head>
<title>layui - 表单 - 开关</title>
</svelte:head>
<!-- svelte-ignore a11y-label-has-associated-control -->
<main>
<blockquote class="layui-elem-quote layui-text">
开关
</blockquote>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>开关* 演示</legend>
</fieldset>
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">开关1</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" text={['true','false']} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关2</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" text={['开','关']} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关3</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" text={['','']} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关4</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" text={[]} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关5</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关6</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" disabled="true" change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关7</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch_value}" text={['开启','关闭']} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关值</label>
<div class="layui-form-mid">{switch_value}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关8</label>
<div class="layui-input-block">
<LaySwitch bind:value="{switch2_value}" text={['好','不好']} change={switch_change} ></LaySwitch>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关值</label>
<div class="layui-form-mid">{switch2_value}</div>
</div>
</form>
</main>
<style>
</style>





