{{define "component/settingListItem"}} <a-list-item style="padding: 20px"> <a-row v-if="type === 'textarea'"> <a-col> <a-list-item-meta :title="title" :description="desc"/> <a-textarea class="ant-setting-textarea" :value="value" @input="$emit('input', $event.target.value)" :auto-size="{ minRows: 10 }"></a-textarea> <!--a-textarea :value="value" @input="$emit('input', $event.target.value)" :auto-size="{ minRows: 10, maxRows: 30 }"></a-textarea--> </a-col> </a-row> <a-row v-else> <a-col :lg="24" :xl="12"> <a-list-item-meta :title="title" :description="desc"/> </a-col> <a-col :lg="24" :xl="12"> <template v-if="type === 'text'"> <a-input :value="value" @input="$emit('input', $event.target.value)" :placeholder="placeholder"></a-input> </template> <template v-else-if="type === 'number'"> <a-input-number :value="value" :step="step" @change="value => $emit('input', value)" :min="min" style="width: 100%;"></a-input-number> </template> <template v-else-if="type === 'switch'"> <a-switch :checked="value" @change="value => $emit('input', value)"></a-switch> </template> </a-col> </a-row> </a-list-item> {{end}} {{define "component/setting"}} <script> Vue.component('setting-list-item', { props: ["type", "title", "desc", "value", "min", "step", "placeholder"], template: `{{template "component/settingListItem"}}`, }); </script> {{end}}