te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>vue.js - Setting a checkbox as checked if method returns true - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

vue.js - Setting a checkbox as checked if method returns true - Stack Overflow

programmeradmin3浏览0评论

I am new to Vu Js.

I want to set my input checkbox to checked if the method returns true.

This is the element:

<input type="checkbox" id="checkbox" v-model="checked" />

my Method:

Vue.createApp({
  data() {
    return {
   
      checked:false
    };
  },
  computed: {
    computedClass() {
      return { checked: this.addGoals };
    }
  },
  methods: {
   
    addGoals() {
      this.checked = true;
    }
  }
}).mount('#app');

Edit: the addGoals method will do a conditional test to determine whether the value should be checked or not

I am new to Vu Js.

I want to set my input checkbox to checked if the method returns true.

This is the element:

<input type="checkbox" id="checkbox" v-model="checked" />

my Method:

Vue.createApp({
  data() {
    return {
   
      checked:false
    };
  },
  computed: {
    computedClass() {
      return { checked: this.addGoals };
    }
  },
  methods: {
   
    addGoals() {
      this.checked = true;
    }
  }
}).mount('#app');

Edit: the addGoals method will do a conditional test to determine whether the value should be checked or not

Share Improve this question edited Feb 17 at 12:05 paul kendal23 asked Feb 17 at 11:19 paul kendal23paul kendal23 1892 gold badges3 silver badges15 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 0

Why computed here? What do you think would happen in checked: this.addGoals without calling the method?
You write "if the method returns true", but your method addGoals() { this.checked = true; } always returns undefined...

I'll give you an example where the method returns true and sets checkbox[checked]:

Vue.createApp({
  data() {
    return {
      checked: false,
    };
  },
  created() {
    this.checked = this.addGoals();
  },
  methods: {
    addGoals() {
      return true;
    }
  }
}).mount('#app');
<script src="https://cdnjs.cloudflare/ajax/libs/vue/3.5.4/vue.global.min.js"></script>
<div id="app">
  <input type="checkbox" v-model="checked">
  <button @click="checked = addGoals()">addGoals()</button>
  <button @click="checked = false">remove checked</button>
</div>

You can try the following

<script setup>
import { ref, computed } from 'vue'

const text = ref('')

const checked = computed(() => {
  return text.value === 'yes'
})
</script>

<template>
  <input type="checkbox" id="checkbox" v-model="checked" /> {{ checked }}

  <br />
  
  <input type="text" v-model="text" /> {{ text }}
</template>

Here is a playground.


If you want some HTML examples, you can also check this one.


If you're only using the CDN in your HTML, this is how you can write it

<script type="module">
import { createApp, ref, computed } from 'vue'

createApp({
  setup() {
    const text = ref('')
    const checked = computed(() => {
      return text.value === 'yes'
    })

    return {
      text,
      checked,
    }
  }
}).mount('#app')
</script>

<div id="app">
  <input type="checkbox" id="checkbox" v-model="checked" /> {{ checked }}

  <br />
  
  <input type="text" v-model="text" /> {{ text }}
</div>

You mostly need to have some importmaps somewhere with the following

{
  "imports": {
    "vue": "https://unpkg/[email protected]/dist/vue.esm-browser.js"
  }
}
发布评论

评论列表(0)

  1. 暂无评论