我有一个表单,我想根据从下拉列表中选择的类别来呈现不同的字段。例如,在以下示例中,如果有名为“电话”和“笔记本电脑”的类别,如果选择“笔记本电脑”,则表单将包含字段“网络”,如果选择笔记本电脑,则表单将包含字段“处理器” (目前均已显示)。这样做的最佳方法是什么?我假设我需要将选定的下拉选项存储在状态中并基于此渲染字段,但我不知道如何在不破坏我当前拥有的内容的情况下完成它。
import React, { useState, useEffect } from "react";
import Layout from "../core/Layout";
import { isAuthenticated } from "../auth";
import { createProduct, getCategories } from './apiAdmin';
const AddProduct = () => {
const [values, setValues] = useState({
name: '', network: '', processor: '', categories: [], category: '', loading: false, error: '', createdProduct: '', redirectToProfile: false, formData: ''
});
const { user, token } = isAuthenticated();
const { name, network, processor, categories, category, loading, error, createdProduct, redirectToProfile, formData } = …Run Code Online (Sandbox Code Playgroud) 我试图检查数据库中是否有重复的用户名,但收到错误:
sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用 1,并且提供了 3 个。
这里提到的绑定是什么?我该如何解决这个问题?
conn = sqlite3.connect('data.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS users (username, f_name, l_name, age, email, uid)''')
for u in range(0,1):
a1 = input("Enter desired username:\t")
a2 = input("Enter first name:\t")
a3 = input("Enter last name:\t")
a4 = input("Enter age:\t")
a5 = input("Enter email:\t")
a6 = str(uuid4())
add = [a1,a2,a3,a4,a5,a6]
c.execute('''SELECT username FROM users WHERE username=?''', a1)
exists = c.fetchall()
if not exists:
c.execute('INSERT INTO users VALUES(?,?,?,?,?,?)',add)
conn.commit()
else:
print("Error: Username already in …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的Rails应用程序(用户和硬币)中创建两个模型之间的关联,其中Coin属于用户和用户has_many硬币.当我在Coin模型中添加belongs_to关联时,我无法再编辑或创建Coin页面.它为什么要这样做?一旦删除关联,我就可以再次创建/编辑.此外,"用户"页面上相应的has_many关联不具有相同的效果.在理解这里发生的事情以及如何正确地建立这种联系方面,我将不胜感激.谢谢.
User.rb
class User < ApplicationRecord
acts_as_votable
has_many :questions, dependent: :destroy
has_many :events, dependent: :destroy
has_many :links, dependent: :destroy
has_many :posts, dependent: :destroy
has_many :moderated_coins, class_name: "Coin"
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, authentication_keys: [:login]
validates :username, presence: :true, uniqueness: { case_sensitive: false }
validates_format_of :username, with: /^[a-zA-Z0-9_\.]*$/, :multiline => true
validate :validate_username
def validate_username
if User.where(email: username).exists?
errors.add(:username, :invalid)
end
end
def login=(login)
@login = login
end
def login
@login || self.username || self.email
end
def self.find_for_database_authentication(warden_conditions)
conditions …Run Code Online (Sandbox Code Playgroud)