<style> </style> <div id="{$name}"> <input type="hidden" name="{$name}" value="{:implode(',',$val)}"> <el-cascader v-model="value" :options="options" :props="props" size="medium" filterable clearable style="width:100%" ></el-cascader> </div> <script> new Vue({ el: '#{$name}', data: function() { return { props:{ value: 'id', label: 'title', children: 'child' }, options: {:json_encode($lists)}, value: {:json_encode($val)} } }, watch: { value: function (newVal, oldVal) { $('input[name={$name}]').val(newVal.join(',')); } } }) </script>